StableStudioからStable Diffusion Web UIを使って画像生成してみた
こんにちは、ゲームソリューション部のsoraです。
今回は、StableStudioからStable Diffusion Web UIを使って画像生成してみたことについて書いていきます。
Stable Diffusion Web UI・StableStudio・DreamStudioとは
上記3つのサービスは似たような名前・機能のため、以下にそれぞれが何かを記載します。
- Stable Diffusion Web UI
- ローカルやサーバにインストールして、機能としてUI部分も画像生成部分も持つ
- オープンソースであり無料で利用可能
- インフラは自身で準備する必要がある(ある程度の性能が求められる)
- DreamStudio
- Webアプリケーションで登録するだけで画像生成が可能
- クレジットを購入して利用
- StableStudio
- DreamStudioのオープンソース版
- 画像生成自体の機能は持っていない(UI部分のみ)
今回は、StableStudioとStable Diffusion Web UIをそれぞれEC2上に構築・接続して画像生成を行います。
Stable Diffusion Web UIの構築
以下ブログで構築したものを使用します。
AUTOMATIC1111版を使用しています。
StableStudioの構築
EC2上にStableStudioを構築します。
OSはAmazon Linux 2023、インスタンスタイプはt3.2xlarge
です。
画面が重かったため大きめのインスタンスにしていますが、t3.2xlarge
ではメモリ使用率は5%程度だったため、もっと小さいインスタンスで良いです。
StableStudio自体で画像生成をするわけではないため、GPUはなしにしています。
次に、StableStudioをインストールします。
# Gitのインストール
sudo yum install -y git
# Node.jsのインストール
curl -sL https://rpm.nodesource.com/setup_22.x | sudo -E bash -
sudo yum install -y nodejs
# yarnのインストール
sudo npm install -g yarn
# StableStudioのインストール
git clone https://github.com/Stability-AI/StableStudio.git
cd StableStudio
yarn
yarn dev --host
実行後にhttp://{IPアドレス}:3000
にアクセスすると、初回はAPI Keyを設定していないため、API Keyを設定する画面が表示されます。
もしDreamStudioのAPI Keyを使用して利用する場合は、この画面にてAPI Keyを登録すれば使用できます。
ただし、今回のようにStable Diffusion Web UIを使用する場合、Stable Diffusion Web UIではAPI Keyを発行する機能はないため、プラグインを使用して利用できるようにします。
StableStudioからStable Diffusion Web UIへの接続設定
まず以下コマンドをStable Diffusion Web UI側のインスタンスで実行して、StableStudioからのリクエストを受けられるようにします。
source webui.sh --nowebui --cors-allow-origins=http://{StableStudioインスタンスのIPアドレス}:3000
http://{Stable Diffusion Web UIのIPアドレス}:7861/docs
でAPIドキュメントも確認可能です。
次に、StableStudio側のインスタンスで以下コマンドにて、プラグインを含めて実行します。
yarn dev:use-webui-plugin --host
実行後にhttp://{StableStudioのIPアドレス}:3000
にアクセスすると、プラグインを利用しない場合とは異なりDreamStudioっぽいStableStudioの画面が表示されます。
接続先を指定するため、右上の歯車マークからSettings画面にて、Host URLとしてhttp://{Stable Diffusion Web UIのIPアドレス}:7861
を入力します。
これで設定完了です。
(余談)
設定を開いたときに、Stable Diffusion Web UI側で以下エラーが出ていましたが、画像生成に影響はなかったため一旦無視しました。
INFO: xxx.xxx.xxx.xxx:61400 - "POST /StableStudio/get-generated-images HTTP/1.1" 404 Not Found
画像生成の実行
設定が完了したため、実際に画像生成を試してみます。
画像のアップロードや生成する画像数の設定変更も正常に動作しました。
最後に
今回は、StableStudioからStable Diffusion Web UIを使って画像生成してみたことを記事にしました。
どなたかの参考になると幸いです。